package main

// 简单题，计数排序
// 元素范围是 100， 数组长度范围也是100
// 计数排序
func sumOfUnique(nums []int) int {
	// 1. 计数
	cnt := make([]int, 101)
	for _, num := range nums {
		cnt[num] += 1
	}
	// 2. 计算和
	ans := 0
	for i, num := range cnt {
		if num == 1 {
			ans += i
		}
	}
	return ans
}


// 官方题解，一次遍历
func sumOfUnique(nums []int) (ans int) {
	state := map[int]int{}
	for _, num := range nums {
		if state[num] == 0 {
			ans += num
			state[num] = 1
		} else if state[num] == 1 {
			ans -= num
			state[num] = 2
		}
	}
	return
}


